package hotel.meituan.oversea.biz.service;

import hotel.base.oversea.dto.meituan.MtHotelRoomDto;
import hotel.base.oversea.utils.Result;
import hotel.base.oversea.vo.MtRoomInfoReturnVo;
import hotel.base.oversea.vo.meituan.request.room.MtHotelRealRoomVo;
import hotel.base.oversea.vo.meituan.response.goods.MtHotelGoodsBaseRoomVo;
import hotel.meituan.oversea.api.vo.up.response.hotel.MtHotelDetailVo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface MtHotelRoomNameService {
    public String getRoomNameByGoodsIdHotelId(List<MtHotelRealRoomVo> oneHotelRoomInfos, String hotelId, List<MtHotelGoodsBaseRoomVo> goodsBaseRoom, String goodsId);
    public MtRoomInfoReturnVo goodsInfosCheckReturnGoodsRealRoomIdAndName(List<MtHotelRealRoomVo> oneHotelRoomInfos, MtHotelDetailVo hotelDetailVo, String thisMtHotelId, List<MtHotelGoodsBaseRoomVo> goodsBaseRoom, String goodsId);
    public String findRealRoomIdByGoodsRealRoomIdNotNull(MtHotelDetailVo hotelDetailVo, String thisMtHotelId, List<MtHotelGoodsBaseRoomVo> goodsBaseRoom);
    public String goodsInfosCheckReturnGoodsRealRoomId(List<MtHotelRealRoomVo> oneHotelRoomInfos, MtHotelDetailVo hotelDetailVo, String thisMtHotelId, List<MtHotelGoodsBaseRoomVo> goodsBaseRoom, String goodsId);
    public MtRoomInfoReturnVo findRealRoomIdByGoodsIdRealIsNull(List<MtHotelRealRoomVo> oneHotelRoomInfos, String mtHotelId, String goodsId);

    public List<MtHotelDetailVo>  returnHotelDetailRoomList(List<Long> hotelIds);

    public Result<Object> getMtHotelRoom(List<Long> hotelIds);

    public Result<MtHotelRoomDto> getMtHotelRoomCompareGoodId(List<MtHotelRealRoomVo> oneHotelRooms, String mtHotelId, String goodsId);
    public MtHotelDetailVo returnHotelDetailRoomListByOneHotelId(String hotelId);
    public Map<Long, MtHotelDetailVo>  returnHotelDetailsMap(List<Long> hotelIds);

}
